/*
 * @(#) ISsmService .java  1.0  2004-4-12
 *
 * Copyright 2003 by LongTop Corporation.
 * All rights reserved.
 *
 * This software is the confidential and proprietary information of
 * LongTop Corporation ("Confidential Information").  You
 * shall not disclose such Confidential Information and shall use
 * it only in accordance with the terms of the license agreement
 * you entered into with LongTop.
 */
package com.cnc.ssm;

import java.util.HashMap;
import java.util.List;

import com.cnc.bas.IBasService;
import com.cnc.ssm.model.PwCodeInfo;
import com.cnc.ssm.model.PwCodeType;
import com.cnc.ssm.model.PwEmployee;
import com.cnc.ssm.model.PwInst;
import com.cnc.ssm.model.PwMenu;
import com.cnc.ssm.model.PwOper;
import com.cnc.ssm.model.PwRole;

/**
 * User: Du bf
 * Date: 2005-3-29
 */
public interface ISsmService extends IBasService{
	
	public static final String BEAN_NAME = "ssmService";

    public void addRole(PwRole pwRole);

    public void updateRole(PwRole pwRole);

    public void deleteRole(String roleCode);

    public PwRole loadRole(String roleCode);

    public List listRole();

    public List listRole(HashMap hs);

    public List listRole(PwRole pwRole);

    public void addOperator(PwOper basOper);

    public void updateOperator(PwOper basOper);

    public void deleteOperator(String operCode);

    public PwOper loadOperator(String operCode);

    public List listOperator(HashMap hs);
    //liuwei更改
    public List listUserMenu(String userCode,String i18n);

    public List listMenu(String menuCode);

    public List listFunc(String menuCode);

    public List listRole(String operCode);

    public List listOper(String rolecode);

    public String getNameByCode(String codeType, String codeValue);

    public boolean existUser(String userCode);

    public List listAuth(String refType, String refCode);

    public void saveAuth(String refType, String refCode, String authlist);

    public void saveRoleOper(String type, String role, String oper);

    public UserInfo login(String userName, String password) throws UserNotExistException,
            PasswordMismatchException, BlockedPasswordException, ExpiredPasswordException, UserLockedException;

    public void changePwd(HashMap hs);

    public List listLoginLog(HashMap hs);

    public Long addLoginInfo(UserInfo oper, String remoteAddr);

    public void updateLoginInfo(Long loginId);

    public List listInst(String instType);

    public List listInstTree();

    public PwInst loadInst(String instCode);

    public void addInst(PwInst inst);

    public void updateInst(PwInst inst);

    public void deleteInst(String instCode);

    public List listInst(String instCode, String instLevel);

    public List listCodeType();

    public List listCodeType(HashMap hs);

    public PwCodeType loadCodeType(String codeType);

    public void updateCodeType(PwCodeType vo);

    public void deleteCodeType(String codeType);

    public void addCodeType(PwCodeType CodeType);

    public List listCodeInfo(HashMap hs);

    public List listCodeInfo(String codeType);

    public PwCodeInfo loadCodeInfo(Long aLong);

    public void deleteCodeInfo(long codeId);

    public void addCodeInfo(PwCodeInfo CodeInfo);

    public void updateCodeInfo(PwCodeInfo CodeInfo);

    public void addEmployee(PwEmployee vo);

    public void updateEmployee(PwEmployee vo);

    public void deleteEmployee(String emplCode);

    public PwEmployee loadEmployee(String emplCode);

    public List listEmployee(String emplCode);

    public List listEmployee(HashMap hs);

    public List listSuperEmployee(String emplCode, String emplType);

    public boolean existEmployee(String emplCode);

    public List listMenuTree();

    public PwMenu loadMenu(String menuCode);

    public void addMenu(PwMenu menu);

    public void updateMenu(PwMenu menu);

    public void deleteMenu(String menuCode);

    public List listSysParam();

    public void addSysParam(String paramList);

    public void updateFunc(String menuCode, String funcList);
	
	public List listTaskDetail(String taskid);
}
